// pages/mine/mine.js
import Dialog from '../../miniprogram_npm/@vant/weapp/dialog/dialog';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    LoginData:{},
    show:false,
    myArticles:0,
    myComments:0,
    myStores:0,
    myLikes:0,
    showDetail:false,
    showData:[],
    chooseId:'',
    isCheck:false
  },

  formateLoginData(){
    let res = wx.getStorageSync('userInfo')
    this.setData({
      LoginData:res,
    })
    return res.userId
  },

  formateMineData(id){
    wx.cloud.callFunction({
      name:'getMinePageData',
      data:{userId:id}
    }).then(res=>{
      let data = res.result.data
      this.setData({
        myArticles:data.articles,
        myComments:data.comments,
        myLikes:data.likes,
        myStores:data.stores
      })
      // console.log(this.data);
    })
  },

  Props(){
    this.setData({
      show:!this.data.show
    })
    return false
  },

  PropsClose(){
    this.setData({
      show:false
    })
  },

  update(){
    wx.cloud.database().collection('users').where({userId:this.data.LoginData.userId})
    .update({
      data:{
        avatarUrl:this.data.LoginData.avatarUrl,
        gender:this.data.LoginData.gender,
        userName:this.data.LoginData.userName
      }}).then(res=>{
        this.formateMineData(this.data.LoginData.userId)
        wx.setStorageSync('userInfo',this.data.LoginData)
      })
  },

  changeAvatar(){
    var _this = this
    wx.chooseMedia({
      count:1,
      mediaType:['image'],
      sourceType: ['album', 'camera'],
      camera: 'front',
      success(res) {
        let Url = res.tempFiles[0].tempFilePath
        //上传文件
        wx.cloud.uploadFile({
          cloudPath:"avator/"+_this.data.LoginData.openId+".jpg",
          filePath:Url,
        }).then(res=>{

          //更新本地存储
          Url = res.fileID
          _this.data.LoginData.avatarUrl = Url
          _this.setData({
            LoginData:_this.data.LoginData
          })
          // console.log(_this.data);
          wx.setStorageSync('userInfo',_this.data.LoginData)

          //上传云端
          _this.update()
        })
      }
    })
  },

   updateName(e){
    this.data.LoginData.userName = e.detail.value
    this.update()
  },

  changeGender(){
    Dialog.confirm({
      message: '你确定要变性吗？'
    }).then(()=>{
      if (this.data.LoginData.gender == 1) {
        this.data.LoginData.gender = 0
      }else{
        this.data.LoginData.gender = 1
      }
      wx.setStorageSync('userInfo', this.data.LoginData)
      this.update()

    }).catch(()=>{})
  },

  clickImg(e){
    var imgUrl = this.data.LoginData.avatarUrl
    wx.previewImage({
      urls: [imgUrl],
      current:''
    })
  },

  viewDetail(e){
    let data = (e.currentTarget.dataset.view);
    let id = e.currentTarget.id
    this.setData({
      showDetail:true,
      showData:data,
      chooseId:id
    })
  },

  closeDetail(){
    this.setData({
      showDetail:false
    })
  },

  Delete(e){
    let id = e.target.dataset.id
    //删除文章
    if (this.data.chooseId == 0) {
      Dialog.confirm({
        message: '你确定要删除这篇文章吗？',
        zIndex:100
      }).then(()=>{
        wx.cloud.callFunction({
          name:'remove',
          data:{code:this.data.chooseId,articleId:id}
        }).then((res)=>{
          //删除文章照片
          this.deleteImg(res.result)
          this.data.showData = this.data.showData.filter((item)=>{
            return item._id !== id
          })
          this.setData({
            showData:this.data.showData,
            myArticles:this.data.showData
          })
        })
      }).catch(()=>{})
    }
    //删除评论
    else if(this.data.chooseId == 1){
      Dialog.confirm({
        message: '你确定要删除这条评论吗？',
        zIndex:100
      }).then(()=>{
        wx.cloud.callFunction({
          name:'remove',
          data:{code:this.data.chooseId,commentId:id}
        }).then(res=>{
          console.log(res.result.data);
          this.setData({
            myComments:res.result.data
          })
        })

      }).catch(()=>{})
    }
    //删除收藏
    else if(this.data.chooseId == 2){
      Dialog.confirm({
        message: '你确定要删除这条收藏吗？',
        zIndex:100
      }).then(()=>{
       wx.cloud.database().collection('users').where({
         userId:this.data.LoginData.userId
       }).update({
          stores:db.command.pull(id)
       }).then(res=>{console.log(res);})

      }).catch(()=>{})
    }
  },

  //删除照片
  deleteImg(file){
    wx.cloud.deleteFile({
      fileList:file
  })
},

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.formateLoginData()
    wx.cloud.callFunction({
      name:'isCheck',
    }).then(res=>{
      this.setData({
        isCheck:res.result.data[0].isCheck
      })
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.formateMineData(this.data.LoginData.userId)
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {
    // console.log(1111);
    this.PropsClose()
  },
  // onTabItemTap(){
  //   console.log(111);
  // },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})